#列表 相当于其他语言中的数组
list=['hello','world',98,'hi']
print(list[2])  #正向索引   从0——n-1
print(list[-3])  #反向索引   从-n—— -1
print(list.index(98))   #用index 查找索引
# 用in / not in 查询
print(98 in list)
print('hello' in list)
print('he' in list)

for i in list:      #用for 遍历输出
    print(i)

#列表元素的   增 删 改
list1=['a','b','c','d']
list1.append(100)   #列表后面增加  .append()
print(list1,id(list1))
list2=['qq','dd','cp','dd']
list1.extend(list2)  #     .extend 向列表末尾添加列表元素
print(list1)
list1.insert(1,90)        #插入  在指定位置上插入元素
print(list1)

list1[1:4]=list2         #切片  在列表任意位置插入列表  list1[a:b] 从a开始到b前面切掉 换成插入的列表
print(list1,'测试点1')
#  删除列表中的元素
list1.remove('dd')      #删除列表中某个元素  重复只删除第一个
print(list1, "text2")
list1.pop(0)
print(list1,'text3')   #  根据索引移除某个列表中的元素
print('切片操作 删除元素',end=" ")
new_list1=list1[1:3]   #把原列表 切片 产生一个新的列表
print(new_list1)                #产生的新列表  不改变旧的列表
list1[1:4]=[]   #用空列表替换掉之前列表的一部分  达到删除的效果
print(list1,'text4')
list1.clear()  #  将列表清除
print('text5',list1)

#列表元素的修改
list11=['a','b','c','d',10,20,30]
list11[2]=100   # 把索引为2 的位置改了
print(list11)
list11[1:3]=[3000,4000,5000,6000]
print(list11)  # 修改

# 列表的排序操作
#1.调用sort方法
list22=[11,22,77,44,5235,234,123,4]
print(list22,id(list22))
#调用列表对象的sort方法 默认是升序
list22.sort()
print(list22,id(list22))
list22.sort(reverse=True)  #通过修改reverse = True 来改变成为降序排列
print(list22,id(list22))
print('使用内置函数sorted（）产生新的列表对象     ',end="")
list23=sorted(list22)    #产生了新的列表   降序 0的话  list23=sorted（list22，reverse=True）
print(list23)

#列表生成式
list33=[i*i for i in range(1,10)]    #列表中的元素有一定的规则才可以使用
print(list33)




